home *** CD-ROM | disk | FTP | other *** search
- /*
- setup.c
-
- 「各種設定」コマンド
-
- 編集画像の大きさが(512,480)未満のときは 1倍表示不可
- ★★ zoomrate の1の禁止条件のチェック!
- */
-
- #define DEBUG
-
- #include <stdio.h>
- #include <msdos.cf>
- #include <memory.h>
-
- #include "ge.h"
- #include "dispman.h"
- #include "imageman.h"
-
- #if 1
-
- #define GETITEMXY(n) menu_getitemxy(NULL,(n),&ix,&iy,NULL,NULL)
- #define GETITEMXYS(n) menu_getbuttonxy(NULL,(n),&ix,&iy,&ixlen,&iylen)
-
- /*--------------------------------------------------------*/
- /* 内部変数 */
- /*--------------------------------------------------------*/
-
- static int para_lat2xlen,para_lat2ylen;
- static int _zoomY;
-
- /*--------------------------------------------------------*/
- /* 「各種設定」メニューの定義 */
- /*--------------------------------------------------------*/
-
- static void dspSetupMenu(),ersSetupMenu();
- /*
- enum {
- selLat1Sw=0, selLat2Sw, selZoom,
- selCopyop, selMatteAdj, selAreaAdj,
- selSpray, selColModel, selCsrCol, selBackCol
- };
- */
-
- #include "setup.md"
-
- #define IL setupmenu.itemlist
-
- static void dspSetupMenu()
- {
- }
-
-
- static void ersSetupMenu()
- {
- }
-
-
- /*--------------------------------------------------------*/
- /* メニューの更新用関数 */
- /*--------------------------------------------------------*/
-
-
- static void drwItemCsr(int itemNum)
- {
- int ix,iy,ixlen,iylen;
- GETITEMXYS(itemNum);
- grboxline(ix-2,iy-1,ixlen+4,iylen+2,DMgetmenuplt(Black),DrawNORMAL);
- }
-
-
- static void ersItemCsr(int itemNum)
- {
- int ix,iy,ixlen,iylen;
- GETITEMXYS(itemNum);
- grboxline(ix-2,iy-1,ixlen+4,iylen+2,DMgetmenuplt(COL_menu),DrawNORMAL);
- }
-
-
- /*--------------------------------------------------------*/
- /* 設定メニューの画面モードごとの調整 */
- /*--------------------------------------------------------*/
-
-
- static void makeSetupMenu()
- {
- // static ITEM items[] = {
- // { 16,180,0,0,typeSTRe,(int)"透過時の境界補正",NOFNC }, // 34
- // { 160,180,96+32,16,typeSTR,(int)"あり なし",NOFNC } // 35
- // };
- // if (mode == MODE32K)
- // memcpy(&setupmenu_items[34], &items[0], sizeof(ITEM)*2);
- // else
- // memset(&setupmenu_items[34], 0, sizeof(ITEM)*2);
-
- menu_scrollbar_setvar(menu_scrollbar(&setupmenu,barLAT2XSIZE),para_lat2xlen);
- menu_scrollbar_setvar(menu_scrollbar(&setupmenu,barLAT2YSIZE),para_lat2ylen);
- menu_scrollbar_setvar(menu_scrollbar(&setupmenu,barNIZIMI),blot_depth);
- menu_scrollbar_setvar(menu_scrollbar(&setupmenu,barKOSURE),goshi_para);
- menu_scrollbar_setvar(menu_scrollbar(&setupmenu,barSPRAY),spray_r);
- }
-
-
- /*--------------------------------------------------------*/
- /* 「各種設定」主処理 */
- /*--------------------------------------------------------*/
-
-
- static SEL_E *selem(int s_id, int e_id)
- {
- SEL *s = menu_selector(&setupmenu,s_id);
- SEL_E *e = menu_selector_element(s,e_id);
- return e;
- }
-
- static int getselvar(int id)
- {
- SEL *s = menu_selector(&setupmenu,id);
- return menu_selector_getvar(s);
- }
-
- static void setselvar(int id,int n)
- {
- SEL *s = menu_selector(&setupmenu,id);
- menu_selector_setvar(s,n);
- }
-
-
- void commandSetup()
- {
- PRINT("commandSetup begin\n");
- bool para_lat1disp,para_lat2disp;
- int para_zoomrate = DMimage_getzoomrate();
- DMimage_getlatticeswitch(¶_lat1disp, ¶_lat2disp);
- KNOW(menu_selector(&setupmenu, selLat1Sw) != NULL);
- setselvar(selLat1Sw, para_lat1disp ? 0 : 1);
- KNOW(menu_selector(&setupmenu, selLat2Sw) != NULL);
- setselvar(selLat2Sw, para_lat2disp ? 0 : 1);
- KNOW(selem(selZoom,seZ1) != NULL);
- menu_selector_element_setavail(selem(selZoom,seZ1),minzoomrate>1?NO:YES);
- setselvar(selZoom,
- para_zoomrate==1 ? 0 : para_zoomrate==2 ? 1 :
- para_zoomrate==4 ? 2 : para_zoomrate==8 ? 3 : 4);
- setselvar(selCopyop,blkop==DrawNORMAL? 0 : blkop == DrawMATTE ? 1 : 0);
- setselvar(selMatteAdj, blkop_edge ? 0 : 1);
- setselvar(selAreaAdj, areaadj ? 0 : 1);
- setselvar(selSpray, (spray_t == 0 ? 0 : 1));
- setselvar(selColModel, colmodel==MODEL_RGB ? 0 : 1);
- setselvar(selCsrCol, csrcol==COL_cursorLight? 0: 1);
- setselvar(selBackCol, whiteback ? 0 : 1);
- setselvar(selPartSave, use_partsave ? 0 : 1);
- setselvar(selLoadMove, use_loadmove ? 0 : 1);
- PRINT("選択子・値設定終了\n");
- DMimage_getlatticesize(¶_lat2xlen, ¶_lat2ylen);
- makeSetupMenu();
- menu_disp(&setupmenu);
- for (;;) {
- DMdispcsr(ms.x,ms.y);
- for (;;) {
- ms_get(&ms);
- if (ms.dx!=0 || ms.dy!=0 || ms.btn1!=OFF || ms.btn2!=OFF ||
- key_chk()!=0)
- break;
- }
- DMerasecsr();
- scrollForCsr(1,1);
- if (ms.btn1 == OFFON) {
- int a; int ax,ay; SCROLLBAR *sbarp;
- a = menu_where(ms.x,ms.y,&setupmenu, &ax,&ay,&sbarp);
- switch (a)
- {
- case itemMoveMenu:
- menu_move();
- break;
- case itemScrollBar:
- menu_touchscrollbar(sbarp, ax,ay);
- break;
- case itemSelector:
- menu_touchselector(&setupmenu);
- break;
- }
- }
- if (ms.btn2 == OFFON)
- break;
- if (key_read() == 27)
- break;
- }
- menu_erase();
- DMimage_setlatticeswitch(NO,NO);
- int dispx,dispy;
- DMimage_getdispxy(&dispx,&dispy);
- int s,t;
- t = getselvar(selZoom);
- para_zoomrate = (t == 0 ? 1 : t == 1 ? 2 : t == 2 ? 4 : t == 3 ? 8 : 16);
- DMimage_setzoomrate(para_zoomrate);
- DMimage_setdispxy(dispx,dispy);
- t = menu_scrollbar_getvar(menu_scrollbar(&setupmenu,barLAT2XSIZE));
- s = menu_scrollbar_getvar(menu_scrollbar(&setupmenu,barLAT2YSIZE));
- DMimage_setlatticesize(t,s);
- blot_depth = menu_scrollbar_getvar(menu_scrollbar(&setupmenu,barNIZIMI));
- goshi_para = menu_scrollbar_getvar(menu_scrollbar(&setupmenu,barKOSURE));
- spray_r = menu_scrollbar_getvar(menu_scrollbar(&setupmenu,barSPRAY));
- t = getselvar(selLat1Sw);
- s = getselvar(selLat2Sw);
- DMimage_setlatticeswitch(t==0?YES:NO, s==0?YES:NO);
- blkop = (getselvar(selCopyop)==0 ? DrawNORMAL : DrawMATTE);
- blkop_edge = (getselvar(selMatteAdj)==0 ? YES : NO);
- areaadj = (getselvar(selAreaAdj) == 0 ? YES : NO);
- spray_t = (getselvar(selSpray) == 0 ? 0 : 1);
- colmodel = (getselvar(selColModel)==0?MODEL_RGB:MODEL_HLS);
- csrcol=(getselvar(selCsrCol)==0 ? COL_cursorLight:COL_cursorDark);
- whiteback = (getselvar(selBackCol) == 0 ? YES : NO);
- use_partsave = (getselvar(selPartSave) == 0 ? YES : NO);
- use_loadmove = (getselvar(selLoadMove) == 0 ? YES : NO);
- PRINT("commandSetup end\n");
- }
-
- /* end of setup.c */
-
-
-
- #else
-
- void commandSetup()
- {
- }
-
- #endif
-